package org.mspring.platform.security.action;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.mspring.platform.security.action.rule.SecurityRule;
import org.mspring.platform.security.action.rule.rules.EmptySecurityRule;

/**
 * 针对Action级别的权限控制
 *
 * @author Gao Youbo
 * @since 2013年9月10日
 */
@Target(value = ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
public @interface ActionSecurity {
    Class<? extends SecurityRule>[] rules() default EmptySecurityRule.class;

    boolean mustLogin() default true;
}